package com.gxa.ehome.aop;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

//要实现一个切面编程,需要两个注解配合:
//使用配置方式
@Component

public class LogAspect2 {

    //前置通知

    public void before(JoinPoint joinPoint){
        joinPoint.getArgs();  // 获取参数信息
        joinPoint.getTarget(); // 获取代理目标

        System.out.println("这是一个前置通知, Before");
    }

    //后置返回通知

    public void afterReturning(){
        System.out.println("这是一个后置返回通知, AfterReturning");
    }

    //后置抛出通知

    public void afterThrowing(){

        System.out.println("这是一个后置返回通知, AfterThrowing");
    }

    //后置通知

    public void after(){
        System.out.println("这是一个后置返回通知, After");
    }

}
